package com.travel.server.manager.impl.controller;

import com.travel.server.manager.api.ICustomerDataService;
import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.customer.data.*;
import com.travel.server.manager.impl.controller.base.AbstractController;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: LiZhenhui
 * @Date: 2018/12/10 10:17
 * @Desc:
 */
@RestController
public class CustomerDataController extends AbstractController implements ICustomerDataService {
    @Override
    public Object queryCustomerData(@RequestBody QueryCustomerDataRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object exportCustomerData(@RequestBody ExportCustomerDataRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryCustomerStatistics(@RequestBody QueryCustomerStatisticsRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object exportCustomerStatistics(@RequestBody ExportCustomerStatisticsRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryDealCustomerAnalysis(@RequestBody QueryDealCustomerAnalysisRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryTrendIndex(@RequestBody QueryTrendIndexRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryMemberFansDeal(@RequestBody QueryMemberFansDealRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryCustomerRepeatBuy(@RequestBody EmptyRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectCustomerAnalysis(@RequestBody QueryProjectCustomerAnalysisRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object exportProjectCustomerAnalysis(@RequestBody ExportProjectCustomerAnalysisRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryCustomerDistribution(@RequestBody EmptyRequest request) {
        return this.getCommand().handle(request);
    }
}
